package com.ms.game.lobby.terminatedaccountlist.db;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import com.xpec.c4.db.model.basic.BasicModel;

/**
 * 停權名單
 * @author TW16028
 *
 */
@Entity
@org.hibernate.annotations.Entity(dynamicInsert = true, dynamicUpdate = true)
@Table(name = TerminatedAccountListModel.TABLE_NAME)
@org.hibernate.annotations.Table(
		appliesTo = TerminatedAccountListModel.TABLE_NAME, indexes = {
				@org.hibernate.annotations.Index(name = "IDX_START_TIME", columnNames = { "startTime" })
			})
public class TerminatedAccountListModel extends BasicModel{

	private static final long serialVersionUID = 5655529176182723393L;

	public static final String TABLE_NAME = "terminated_account_list";
	
	/**
	 * id
	 */
	private int id;
	
	/**
	 * 角色暱稱
	 */
	private String playerName;
	
	/**
	 * 原因
	 */
	private String reason;
	
	/**
	 * 停權開始時間 (秒)
	 */
	private long startTime;
	
	/**
	 * 停權結束時間(秒)
	 * 永久停權 -1
	 */
	private long endTime;
	
	/**
	 * 
	 */
	private Date startDate;
	
	/**
	 * 修改時間(秒)
	 */
	private long modifyTime;
	
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getPlayerName() {
		return playerName;
	}

	public void setPlayerName(String playerName) {
		this.playerName = playerName;
	}

	public String getReason() {
		return reason;
	}

	public void setReason(String reason) {
		this.reason = reason;
	}

	public long getStartTime() {
		return startTime;
	}

	public void setStartTime(long startTime) {
		this.startTime = startTime;
	}

	public long getEndTime() {
		return endTime;
	}

	public void setEndTime(long endTime) {
		this.endTime = endTime;
	}

	public long getModifyTime() {
		return modifyTime;
	}

	public void setModifyTime(long modifyTime) {
		this.modifyTime = modifyTime;
	}

	
	
	@Temporal(TemporalType.DATE)
	public Date getStartDate() {
		return startDate;
	}

	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}
	
}
